package cn.ecnu.mapper;

import cn.ecnu.pojo.Supervisor;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface SupervisorMapper {

    /**
     * 根据督导ID, 获取督导
     * @param supervisorId 督导ID
     * @return 督导对象
     */
    @Select("SELECT * FROM psychology.supervisor WHERE supervisor_id = #{id}")
    Supervisor getSupervisorById(@Param("id") Integer supervisorId);

    /**
     * 根据咨询师ID获取绑定的督导列表
     * @param consultantId 咨询师ID
     * @return 督导列表
     */
    List<Supervisor> getSupervisorByConsultantId(@Param("id") Integer consultantId);

    /**
     * 获取所有的督导
     * @return 督导列表
     */
    @Select("SELECT * FROM psychology.supervisor")
    List<Supervisor> getAllSupervisor();

    // 新增一个督导
    int insertSupervisor(Supervisor supervisor);

    /**
     * 根据咨询记录的ID获取对应的督导
     * @param consultRecordId 咨询记录ID
     * @return 咨询过程中求助的督导
     */
    Supervisor getSupervisorByConsultRecordId(@Param("id") Integer consultRecordId);


    int updateSupervisor(Supervisor supervisor);
}
